home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / bfd / configure.host < prev    next >
Encoding:
Text File  |  1996-07-04  |  3.8 KB  |  131 lines

  1. # This file is a shell script that overrides some of the tools and
  2. # flags used on a host specific basis.
  3.  
  4. # Since the "bfd/hosts" directory is shared by the bfd, opcodes, and
  5. # binutils directories (at least), the index to it is also shared.
  6. # This is that index.  Each configure.in file should source this file
  7. # in its per-host part.
  8.  
  9. # This sets the following shell variables:
  10. #  HDEFINES        host specific compiler options
  11. #  host64        set to true if this is a 64 bit host
  12. #  HOST_64BIT_TYPE    host 64 bit type
  13. #  SHLIB_CC        compiler to use when building shared library
  14. #  SHLIB_CFLAGS        flags to use when building shared library
  15. #  PICFLAG        may be set to flag to use to compile PIC
  16. #  SHLINK        may be set to the name to link the shared library to
  17. #  ALLLIBS        may be set to libraries to build
  18. #  HLDFLAGS        LDFLAGS specific to the host
  19. #  RPATH_ENVVAR        environment variable used to find shared libraries
  20.  
  21. HDEFINES=
  22. host64=false
  23. HOST_64BIT_TYPE=
  24.  
  25. case "${host}" in
  26.  
  27. alpha-*-*)        host64=true; HOST_64BIT_TYPE=long ;;
  28.  
  29. hppa*-*-hpux*)        HDEFINES=-DHOST_HPPAHPUX ;;
  30. hppa*-*-hiux*)        HDEFINES=-DHOST_HPPAHPUX ;;
  31. hppa*-*-bsd*)        HDEFINES=-DHOST_HPPABSD ;;
  32. hppa*-*-osf*)        HDEFINES=-DHOST_HPPAOSF ;;
  33.  
  34. i[345]86-sequent-bsd*)    HDEFINES=-Dshared=genshared ;;
  35. i[345]86-sequent-sysv4*) ;;
  36. i[345]86-sequent-sysv*)    HDEFINES=-Dshared=genshared ;;
  37.  
  38. mips-dec-netbsd*)    ;;
  39. mips-dec-*)        HDEFINES="-G 4"    ;;
  40. mips-sgi-irix3*)    HDEFINES="-G 4" ;;
  41. mips-sgi-irix4*)    HDEFINES="-G 4" ;;
  42. mips-*-sysv4*)        ;;
  43. mips-*-sysv*)        HDEFINES="-G 4" ;;
  44. mips-*-riscos*)        HDEFINES="-G 4" ;;
  45.  
  46. m68*-hp-hpux*)        HDEFINES=-DHOST_HP300HPUX ;;
  47.  
  48. esac
  49.  
  50. # If we are configuring with --enable-shared, adjust the shared
  51. # library support based on the host.  This support must work for both
  52. # the BFD and the opcodes libraries.
  53. HLDFLAGS=
  54. RPATH_ENVVAR=LD_LIBRARY_PATH
  55. SHLIB_CC='$(CC)'
  56. SHLIB_CFLAGS='-shared'
  57. if [ "${shared}" = "true" ]; then
  58.   case "${host}" in
  59.   hppa*-*-*)        picfrag=${srcdir}/../config/mh-papic ;;
  60.   i[3456]86-*-*)    picfrag=${srcdir}/../config/mh-x86pic ;;
  61.   *-*-*)        picfrag=${srcdir}/../config/mh-${host_cpu}pic ;;
  62.   esac
  63.   if [ -f "${picfrag}" ]; then
  64.     pic=`sed -n -e 's/^PICFLAG[     ]*=[     ]*\(.*\)$/\1/p' ${picfrag}`
  65.     if [ -n "${pic}" ]; then
  66.       PICFLAG=${pic}
  67.     fi
  68.   fi
  69.  
  70.   case "${host}" in
  71.   *-dec-osf*)
  72.     # -fpic is not needed on the Alpha.
  73.     PICFLAG=
  74.     HLDFLAGS='-rpath $(libdir)'
  75.     SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
  76.     ;;
  77.   *-*-hpux*)
  78.     # HP/UX uses .sl for shared libraries.
  79.     SHLINK=`echo ${SHLINK} | sed -e 's/so$/sl/'`
  80.     SHLIB_CFLAGS='-shared $(PICFLAG)'
  81.     HLDFLAGS='-Wl,+s,+b,$(libdir)'
  82.     RPATH_ENVVAR=SHLIB_PATH
  83.     ;;
  84.   *-*-irix5*)
  85.     # -fpic is not needed on Irix 5.
  86.     PICFLAG=
  87.     SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
  88.     HLDFLAGS='-Wl,-rpath,$(libdir)'
  89.     ;;
  90.   *-*-linux*aout*)
  91.     ;;
  92.   *-*-linux*)
  93.     SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
  94.     case "${libdir}" in
  95.       /lib | /usr/lib) ;;
  96.       *) HLDFLAGS='-Wl,-rpath,$(libdir)' ;;
  97.     esac
  98.     ;;
  99.   *-*-sysv4* | *-*-solaris*)
  100.     SHLIB_CFLAGS='-shared -h $(SONAME)'
  101.     HLDFLAGS='-R $(libdir)'
  102.     ;;
  103.   *-*-sunos*)
  104.     # Build a libTARGET-bfd.so.VERSION symlink in the object directory.
  105.     ALLLIBS=`echo ${ALLLIBS} | sed -e 's/\$(SHLINK)/stamp-tshlink/'`
  106.     ;;
  107.   esac
  108. fi
  109.  
  110. # On SunOS, if the linker supports the -rpath option, use it to
  111. # prevent ../bfd and ../opcodes from being included in the run time
  112. # search path.
  113. case "${host}" in
  114.   *-*-sunos*)
  115.     echo 'main () { }' > conftest.c
  116.     ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
  117.     if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
  118.       :
  119.     elif grep 'No such file' conftest.t >/dev/null 2>&1; then
  120.       :
  121.     elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
  122.       :
  123.     elif [ "${shared}" = "true" ]; then
  124.       HLDFLAGS='-Wl,-rpath=$(libdir)'
  125.     else
  126.       HLDFLAGS='-Wl,-rpath='
  127.     fi
  128.     rm -f conftest.t conftest.c conftest
  129.     ;;
  130. esac
  131.